#-----------------------------------------------------------#
#  죄와벌++ 이율배반 										#
#  Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD		#
#  Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ]	#
#  BLANK BOARD [ http://pom.to/ ]							#
#-----------------------------------------------------------#
# 전투 Version 1.5
#--- [주의 사항] --------------------------------------------#
# 1. 이 스크립트는 이하의 이용 규정에 따라 배포하고 있습니다. 	#
#   http://www24.big.or.jp/~obo/game/ore_/gild/				#
#-----------------------------------------------------------#

#-------------------------------------------------------------------------------
#수행 처리 2
sub bt_st {

	&bt_cm;

	$log2 .=qq|<form action="$script" method="$method" name="ore_">\n|;
	$log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc');
	$log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|;
	if($thp<1||$hp<1){
		$log2 .=qq|<input type="hidden" name="cmd" value=-1>\n|;
	}else{
		&spell_sp;
	}
	$log2 .=qq|<br>\n|;#테이블 차이 수정
	$log2 .=qq|<input $button1 type="submit" value="NEXT! ">$td_end</form>\n|;#테이블 추가</tr></table>

	&dat_write;

}

#-------------------------------------------------------------------------------
#전투 처리
sub bt_cm {

	$layout_flag=1;

	$ua_a	= $ua+$dg_data[$dg_a][4];	# $ua에 무기치 부가
	$ud_a	= $ud+$df_data[$df_a][4]+$ds_data[$ds_a][4];	# $ud에 방어구/방패 부가

	$tua_a	= $tua+$dg_data[$tdg_a][4];	# $tua에 무기치 부가
	$tud_a	= $tud+$df_data[$tdf_a][4]+$ds_data[$tds_a][4];	# $tud에 방어구/방패 부가

	my $btp = $ag + int(rand($lv/10)+1);
	my $bte = $tag+ int(rand($tlv/10)+1);

	($btp>=$bte) ? &attack_myself : &attack_enemy ;
	if($thp>0 && $hp>0){($btp>=$bte) ? &attack_enemy : &attack_myself ;}

	# 02/10 전쟁시, 공격한 나라의 사람이 아닌 사람이 나오는 것에의 대처 $tnm >> $tnm_p
	$tnm_p = $tnm if(!$tnm_p);
	$log .="<p>$nm ( HP $hp / MP $mp ) VS $tnm_p ( HP $thp / MP $tmp )</p>\n";

}

# 공격--자신
sub attack_myself{

	$log .="<font color=#6666FF>\n";

	if($cmd == 1){
		local ($v,$vv);

		$vv=int(rand(1500));

		$v = $ua_a-$tud_a;
		$v += int(sqrt($ua)) if($bst =~ /W/);

		$v = 1 if($v<1);

		if($dg_a && $dg_cnt){#무기 호출
			$log .="$nm 는 $dg_data[$dg_a][1] 으로 공격!!<br>$tnm 에 $v 의 상처를 주었다! <br>\n";
			$thp -= $v;
			$dg_cnt--;
			if($dg_cnt<=0){
				$log .="$dg_data[$dg_a][1] 이 망가졌다!!<br>\n";
				$dg_a = $dg_cnt = 0;
			}
			elsif(!$vv){
				$log .="당 곳이 나쁘고 $dg_data[$dg_a][1] 이 망가졌다!!<br>\n";
				$dg_a = $dg_cnt = 0;
			}
		}else{
			$v = int((rand(4))+$v);
			$thp -= $v;
			$log .="$nm 는 $tnm 에 $v 의 상처를 주었다! <br>\n";
		}

	}elsif($cmd >= 2){
		$v = $cmd -2;

		if($rank >= 8){# 계급기술 호출
			&st_cm_k;
		}

		if($di_a == 1){#현자의 돌
			my $ss=int($lv/2);
			my ($v,$vv);
			if(int($hp+$ss) < $max_hp){
				$hp += $ss;
			}else{
				$v=$max_hp-$hp;
				$hp += $v;
			}
			if(int($mp+$ss) < $max_mp){
				$mp += $ss;
			}else{
				$vv=$max_mp-$mp;
				$mp += $vv;
			}
			$log .="$di_data[$di_a][1] 의 작용에 의해 $nm 는 체력과 정신이 $ss 회복했다! <br>\n";

			$di_cnt--;

			if($di_cnt<=0){
				$log .="$di_data[$di_a][1] 이 부서졌다! <br>\n";
				$di_a=0;
			}
		}

		# 도구 호출
		&dogu_k if($di_a > 1 && $cmd==15);

		if($v<int($lv/5) && $mp>=$sp_mp[$v]){
			$mp -= $sp_mp[$v];

			if($camp==0){

				if($lv < 10){$ch =int(rand(10));}#위기 히트율
				elsif($lv >= 10 && $lv < 15){$ch =int(rand(15));}
				elsif($lv >= 15 && $lv < 20){$ch =int(rand(25));}
				elsif($lv >= 20 && $lv < 30){$ch =int(rand(50));}
				elsif($lv >= 30 && $lv < 40){$ch =int(rand(75));}
				else{$ch =int(rand(125));}

				if($v == 0 && $ch == 0 || ($ch == 1 && $lv > 5 && $lv < 10)){
					$v = int($ua*4);
					$v = 1 if($v<1);
					$thp -= $v;
					$log .="필살 마시″검! <b>위기 히트! </b> $tnm 에 $v 의 상처를 주었다! <br>\n";
				}elsif($v == 0 && $ch == 1 && $lv >= 10 && $lv < 20){
					$hp += int($max_hp/3) if($hp < $max_hp - int($max_hp/3));
					$v = int($ua*2);
					$v = 1 if($v<1);
					$thp -= $v;
					$log .="반회복! 체력이 어느 정도 회복했다! <br>연속기술!  필살 마시″검! $tnm 에 $v 의 상처를 주었다! <br>\n";
				}elsif($v == 0 && $ch >= 2 || ($ch == 1 && $lv >= 20)){
					$v = int($ua*2);
					$v = 1 if($v<1);
					$thp -= $v;
					$log .="필살 마시″검! $tnm 에 $v 의 상처를 주었다! <br>\n";
				}elsif($v == 1){
					$hp = $max_hp;
					$log .="전회복! 체력이 완전하게 회복했다! <br>\n";
				}

			}elsif($camp==1){

				if($v == 0){
					$v = int($ua*1.5);
					$v = int(sqrt($ua)) + $ua  if($bst =~ /W/);
					$v = int($v*1.5)           if($bst =~ /W/);
					$v = $v-$tud;
					$v = 1 if($v<1);
					$thp -= $v;
					$log .="필살 질풍검! $tnm 에 $v 의 상처를 주었다! <br>\n";
				}elsif($v == 1 ){
					$v = int($max_hp-$hp);
					$v = 30 if($v>30);
					$hp += $v;
					$log .="생명공! 체력을 $v 회복했다! <br>\n";
				}elsif($v == 2){
					$bst .= 'W' unless($bst =~ /W/);
					$log .="봉격공! 공격력이 올랐다<br>\n";
				}elsif($v == 3){
					$thp -= 30;
					$log .="염창선! $tnm 에 30 의 상처를 주었다! <br>\n";
				}elsif($v == 4){
					$bst .= 'S' unless($bst =~ /S/);
					$log .= "강기! 방어력이 올랐다<br>\n";
				}elsif($v == 5){
					$v = int($max_hp-$hp);
					$v = 50 if($v>50);
					$hp += $v;
					$log .="절심공! 체력을$v회복했다! <br>\n";
				}elsif($v == 6){
					$dh =int(rand(3)) ;
					if($dh==0){
						$v = int($thp*0.8);
						$thp -= $v;
						$thp = 1 if($thp < 1);
						$vv = int($mp/4);
						$mp -= $vv;
						$log .="오의 봉황 전생! $tnm 를 빈사 상태에 몰아넣었다! <br>그러나 여파를 밥등 있고 $nm 는 $vv 의 정신을 잃었다. <br>\n" if($thp <= 1);
						$log .="오의 봉황 전생! $tnm 에$v의 상처를 주었다! <br>그러나 여파를 밥등 있고 $nm 는 $vv 의 정신을 잃었다. <br>\n" if($thp > 1);
					}else{
						$v = int($thp*0.5);
						$thp -= $v;
						$thp = 1 if($thp < 1);
						$log .="오의 봉황 전생! $tnm 를 빈사 상태에 몰아넣었다! <br>\n" if($thp <= 1);
						$log .="오의 봉황 전생! $tnm 에$v의 상처를 주었다! <br>\n" if($thp > 1);
					}
				}elsif($v == 7){
					$dh =int(rand(20)) ;
					if($dh <= 3){
						$log .="비오의영혼 부수어! $tnm 는 마음을 가루들에 부수어졌다! <br>\n";
						$thp=0;
					}elsif($dh == 4){
						$v = int($hp*0.9);
						$hp -= $v;
						$log .="비오의영혼 부수어! <b>자폭! </b> $nm 는 마음이 가루들에 부서지고 흩어졌다! <br>\n";
					}elsif($dh >= 5 && $dh <= 12){
						$v = int(($tud+$tua)*2-$tud);
						$thp -= $v;
						$log .="비오의영혼 부수어! 실패했다! <br>그러나 $tnm 에 $v 의 데미지를 주는 것에 성공! <br>\n";
					}else{
						$log .="실패한…그러나 최악의 사태만은 면했다. <br>\n";
					}
				}

			}elsif($camp==2){

				if($v == 0){
					$v = int($ua*1.5);
					$v = int(sqrt($ua)) + $ua  if($bst =~ /W/);
					$v = int($v*1.5)           if($bst =~ /W/);
					$v = $v-$tud;
					$v = 1 if($v<1);
					$thp -= $v;
					$log .="하″티카르소트″! $tnm 에 $v 의 상처를 주었다! <br>\n";
				}elsif($v == 1 ){
					$bst .= 'W' unless($bst =~ /W/);
					$log .="어택! 공격력이 올랐다<br>\n";
				}elsif($v == 2){
					$v = int($max_hp-$hp);
					$v = 30 if($v>30);
					$hp += $v;
					$log .="힐! 체력을$v회복했다! <br>\n";
				}elsif($v == 3){
					$thp -= 30;
					$v = int($max_hp-$hp);
					$v = 10 if($v>10);
					$hp += $v;
					$log .="세인트 크로스! $tnm 에 30의 상처를 주어 더욱 그 체력을 불과(뿐)만 빨아 들였다! <br>\n";
				}elsif($v == 4){
					$tua = 1;
					$log .= "비술 안크레아후″레이크!  $tnm 의 UA를 제로로 했다! <br>\n";
				}elsif($v == 5){
					$v = int($max_hp-$hp);
					$v = 50 if($v>50);
					$hp += $v;
					$log .="하이 힐! 체력을$v회복했다! <br>\n";
				}elsif($v == 6){
					$v = 140 + int(rand(60)) -$tud;
					$thp -= $v;
					$log .="시간의 흐름에 파묻히고 해 사람……영구<small>(와 원)</small>의 꿈을 잇는 사람……<br>지금 이놈의 이름에 대해, 예해 사람을 정화해···! <br>$tnm 에 $v 의 상처를 주었다! <br>\n";
				}elsif($v == 7){
					$log .="황혼보다 암 나무자……피의 흐름보다 빨강나무자……<br>(생략)<br>……동일하게 멸망하고를 주지 않는 일을!　용파참! <br>\n";
					$v = 200 + int(rand(150)) - $tud;
					$thp -= $v;
					$log .="$tnm 에 $v 의 상처를 주었다! <br>\n";
				}

			}elsif($camp==3){

				if($v == 0){
					$thp -= 15;
					$log .="소트″slash! $tnm 에 15 의 상처를 주었다! <br>\n";
				}elsif($v == 1 ){
					$bst .= 'W' unless($bst =~ /W/);
					$log .="어택! UA가 올랐다<br>\n";
				}elsif($v == 2){
					$thp -= 25;
					$log .="소트″타″스! $tnm 에 25 의 상처를 주었다! <br>\n";
				}elsif($v == 3){
					$bst .= 'S' unless($bst =~ /S/);
					$log .= "시르트″! 방어력이 올랐다<br>\n";
				}elsif($v == 4){
					$tud = 1;
					$log .= "오의 아마후″레이크!  $tnm 의 UD를 제로로 했다! <br>\n";
				}elsif($v == 5){
					$v = int($max_hp-$hp);
					$v = 50 if($v>50);
					$hp += $v;
					$log .="하이 힐! 체력을$v회복했다! <br>\n";
				}elsif($v == 6){
					$v = int($ua*3);
					$v = int(sqrt($ua)) + $ua if($bst =~ /W/);
					$v = int($v*3)            if($bst =~ /W/);
					$v = $v-$tud;
					$v = 1 if($v<1);
					$thp -= $v;
					$log .="오카″소트″! $tnm 에 $v 의 상처를 주었다! <br>\n";
				}elsif($v == 7){
					$v = int($ua*3);
					$v = int(sqrt($ua)) + $ua if($bst =~ /W/);
					$v = int($v*3)            if($bst =~ /W/);
					$v = 100 if($v < 100);
					$thp -= $v;
					$tmp -= $v;
					$log .="비오의 얼티메이트 어택! $tnm 의 HP와 MP에 $v 의 상처를 주었다! <br>\n";
				}

			}elsif($camp==4){

				if($v == 0){
					$v = int($ua*2);
					$v = int(sqrt($ua)) + $ua if($bst =~ /W/);
					$v = int($v*2)            if($bst =~ /W/);
					$v = $v-$tud;
					$v = 1 if($v<1);
					$thp -= $v;
					$log .="암흑검! $tnm 에 $v 의 상처를 주었다! <br>\n";
				}elsif($v == 1 ){
					$thp -= 20;
					$v = int($max_hp-$hp);
					$v = 10 if($v>10);
					$hp += $v;
					$log .="테″트″크라운! $tnm 에 20의 상처를 주어 더욱 그 체력을 불과(뿐)만 빨아 들였다! <br>\n";
				}elsif($v == 2){
					$tmp -= 30;
					$log .="악몽! $tnm 의 MP 에 30 의 데미지를 주었다! <br>\n";
				}elsif($v == 3){
					$thp -= 30;
					$log .="흑염! $tnm 에 30 의 상처를 주었다! <br>\n";
				}elsif($v == 4){
					$v = int($max_hp-$hp);
					$v = 50 if($v>50);
					$hp += $v;
					$log .="하이 힐! 체력을$v회복했다! <br>\n";
				}elsif($v == 5){
					$bst .= 'W' unless($bst =~ /W/);
					$log .="어택! UA가 올랐다<br>\n";
				}elsif($v == 6){
					$bst .= 'S' unless($bst =~ /S/);
					$log .= "시르트″! 방어력이 올랐다<br>\n";
				}elsif($v == 7){
					$v = int(rand(50)) + 200;
					$thp -= $v;
					$log .="열고 지옥의 문! $tnm 에 $v 의 상처를 주었다! <br>\n";
				}
			}elsif($camp==5){

				if($v == 0){
					$dh =int(rand(2)) ;
					if($dh==0){
						$thp -= 30;
						$log .="일식! $tnm 에 30 의 상처를 주었다! <br>\n";
					}elsif($dh==1){
						$thp -= 20;
						$log .="일식!  주고 받아졌다! <br>그러나, 풍압에 의해 $tnm 에 20 의 상처를 주었다! <br>\n";
					}
				}elsif($v == 1 ){
					$v = int($ua*1.5);
					$v = int(sqrt($ua)) + $ua  if($bst =~ /W/);
					$v = int($v*1.5)           if($bst =~ /W/);
					$v = $v-$tud;
					$v = 1 if($v<1);
					$thp -= $v;
					$log .="일식·단! $tnm 에 $v 의 상처를 주었다! <br>\n";
				}elsif($v == 2){
					$dh =int(rand(2)) ;
					if($dh==0){
						$thp -= 70;
						$log .="이식! $tnm 에 70 의 상처를 주었다! <br>\n";
					}elsif($dh==1){
						$thp -= 35;
						$log .="이식!  주고 받아졌다! <br>그러나, 풍압에 의해 $tnm 에 35 의 상처를 주었다! <br>\n";
					}
				}elsif($v == 3){
					$dh =int(rand(3)) ;
					if($dh==0){
						$v = int($ua*2.5);
						$v = int(sqrt($ua)) + $ua  if($bst =~ /W/);
						$v = int($v*2.5)           if($bst =~ /W/);
						$v = $v-$tud;
						$v = 1 if($v<1);
						$thp -= $v;
						$log .="이식·직물! $tnm 에 $v 의 상처를 주었다! <br>\n";
					}elsif($dh==1){
						$v = int($ua*2.5);
						$v = int(sqrt($ua)) + $ua  if($bst =~ /W/);
						$v = int($v*2.5)           if($bst =~ /W/);
						$v = $v-$tud;
						$v = 1 if($v<1);
						$thp -= $v;
						$hp -= 15;
						$log .="이식·직물! $tnm 에 $v 의 상처를 주었다! <br>그러나 기술을 제어 다 할 수 있지 않고\폭\주 해 $nm 는 15의 상처를 입었다. <br>\n";
					}elsif($dh==2){
						$v = int($ua*2.5);
						$v = int(sqrt($ua)) + $ua  if($bst =~ /W/);
						$v = int($v*2.5)           if($bst =~ /W/);
						$v = $v-$tud;
						$v = 1 if($v<1);
						$thp -= $v;
						$mp -= 15;
						$log .="이식·직물! $tnm 에 $v 의 상처를 주었다! <br>그러나 정신에 부하가 걸려 $nm 는 15의 MP를 잃었다. <br>\n";
					}
				}elsif($v == 4){
					$dh =int(rand(2)) ;
					if($dh==0){
						$thp -= 120;
						$log .="참식! $tnm 에 120 의 상처를 주었다! <br>\n";
					}elsif($dh==1){
						$thp -= 60;
						$log .="참식!  주고 받아졌다! <br>그러나, 풍압에 의해 $tnm 에 60 의 상처를 주었다! <br>\n";
					}
				}elsif($v == 5){
					$dh =int(rand(3)) ;
					if($dh==0){
						$v = int($ua*3.5);
						$v = int(sqrt($ua)) + $ua  if($bst =~ /W/);
						$v = int($v*3.5)           if($bst =~ /W/);
						$v = $v-$tud;
						$v = 1 if($v<1);
						$thp -= $v;
						$log .="참식·물결! $tnm 에 $v 의 상처를 주었다! <br>\n";
					}elsif($dh==1){
						$v = int($ua*3.5);
						$v = int(sqrt($ua)) + $ua  if($bst =~ /W/);
						$v = int($v*3.5)           if($bst =~ /W/);
						$v = $v-$tud;
						$v = 1 if($v<1);
						$thp -= $v;
						$hp -= 30;
						$log .="참식·물결! $tnm 에 $v 의 상처를 주었다! <br>그러나 기술을 제어 다 할 수 있지 않고\폭\주 해 $nm 는 30의 상처를 입었다. <br>\n";
					}elsif($dh==2){
						$v = int($ua*3.5);
						$v = int(sqrt($ua)) + $ua  if($bst =~ /W/);
						$v = int($v*3.5)           if($bst =~ /W/);
						$v = $v-$tud;
						$v = 1 if($v<1);
						$thp -= $v;
						$mp -= 30;
						$log .="참식·물결! $tnm 에 $v 의 상처를 주었다! <br>그러나 정신에 부하가 걸려 $nm 는 30의 MP를 잃었다. <br>\n";
					}
				}elsif($v == 6){
					$dh =int(rand(2)) ;
					if($dh==0){
						$thp -= 200;
						$log .="영식! $tnm 에 200 의 상처를 주었다! <br>\n";
					}elsif($dh==1){
						$thp -= 100;
						$log .="영식!  주고 받아졌다! <br>그러나, 풍압에 의해 $tnm 에 100 의 상처를 주었다! <br>\n";
					}
				}elsif($v == 7){
					$dh =int(rand(3)) ;
					if($dh==0){
						$v = int($ua*5);
						$v = int(sqrt($ua)) + $ua  if($bst =~ /W/);
						$v = int($v*5)           if($bst =~ /W/);
						$v = $v-$tud;
						$v = 1 if($v<1);
						$thp -= $v;
						$log .="영식·절! $tnm 에 $v 의 상처를 주었다! <br>\n";
					}elsif($dh==1){
						$v = int($ua*6);
						$v = int(sqrt($ua)) + $ua  if($bst =~ /W/);
						$v = int($v*6)           if($bst =~ /W/);
						$v = $v-$tud;
						$v = 1 if($v<1);
						$thp -= $v;
						$hp -= 60;
						$log .="영식·절! $tnm 에 $v 의 상처를 주었다! <br>그러나 기술을 제어 다 할 수 있지 않고\폭\주 해 $nm 는 60의 상처를 입었다. <br>\n";
					}elsif($dh==2){
						$v = int($ua*6);
						$v = int(sqrt($ua)) + $ua  if($bst =~ /W/);
						$v = int($v*6)           if($bst =~ /W/);
						$v = $v-$tud;
						$v = 1 if($v<1);
						$thp -= $v;
						$mp -= 60;
						$log .="영식·절! $tnm 에 $v 의 상처를 주었다! <br>그러나 정신에 부하가 걸려 $nm 는 60의 MP를 잃었다. <br>\n";
					}
				}

			}

		}

	}

	$log .="</font>\n";

	# 승리 처리
	&battle_win if($thp <= 0 && $type eq '수행중');

}

# 승리 처리
sub battle_win{
	$G =int(rand(200))+((500*$tlv)-($lv*200));
	$v =$lv-5;
	$z =$lv-10;
	$G =int(rand(500))+1500 if($G>2000);
	$G =int($G/2) if($tlv<$v);
	$G =int($G/3) if($tlv<$z);
	$G =1 if($G<1);
	$gold +=$G;
	$E =int((((((rand(5))+5)+$tlv)*2)*0.8)-$lv);
	$E =1 if($E<1);
	$E =int(rand(50))+250 if($E>300);
	$exe+=$E;
	$tm =0;
	$thp=0;
	$bst ='';
	$bt =0;
	$ck =0;
	$cmd=-1;
	$type='';
	$log .="$nm 는 $tnm 를 넘어뜨렸다! <br>\n";
	$log .="$G 의 돈과 $E 의 경험치를 얻었다! <br>\n";
	$tnm_p = $tnm; # 02/10 전쟁시, 공격한 나라의 사람이 아닌 사람이 나오는 것에의 대처
	$tnm ='';
}

# 공격--적측
sub attack_enemy{

	$log .="<font color=FF3366>\n";

	if(($cmd != -1)&&($thp>0)){
		$log .="$tnm 의 공격!  \n";
		$p=int(rand(6));

		if($tcp==0){

			if($lv < 10){$ch =int(rand(20));}#언 럭키 히트율
			elsif($lv >= 10 && $lv < 15){$ch =int(rand(32));}
			elsif($lv >= 15 && $lv < 25){$ch =int(rand(16));}
			elsif($lv >= 25 && $lv < 40){$ch =int(rand(8));}
			else{$ch =int(rand(4));}

			if($tlv>=5&&$tlv<10&&$tmp>=3&&$p==0){
				if($ch == 0){
					$v = int($tua*4);
					$v = 1 if($v<1);
					$hp -= $v;
					$log .="필살 마시″검! <b>통한의 일격! </b> $nm 는 $v 의 상처를 받았다! <br>\n";
					$tmp-=3;
				}else{
					$v = int($tua*2);
					$v = 1 if($v<1);
					$hp -= $v;
					$log .="필살 마시″검! $nm 는 $v 의 상처를 받았다! <br>\n";
					$tmp-=3;
				}
			}elsif($tlv>=10&&$tmp>=9&&$p==1){
				if($ch == 0){
					$v = int($tua*4);
					$v = 1 if($v<1);
					$hp -= $v;
					$log .="필살 마시″검! <b>통한의 일격! </b> $nm 에 $v 의 상처를 주었다! <br>\n";
					$tmp-=3;
				}elsif($ch == 1){
					$thp += int($thp_max/3) if($thp < $thp_max - int($thp_max/3));
					$v = int($tua*2);
					$v = 1 if($v<1);
					$hp -= $v;
					$log .="반회복! 체력이 어느 정도 회복했다! <br>적의 맹공격!  필살 마시″검! $nm 에 $v 의 상처를 주었다! <br>\n";
					$tmp-=9;
				}elsif($ch > 1){
					$ch2 =int(rand(3));
					if($ch2 == 0 || $ch2 == 1){
						$v = int($tua*2);
						$v = 1 if($v<1);
						$hp -= $v;
						$log .="필살 마시″검! $nm 는 $v 의 상처를 받았다! <br>\n";
						$tmp-=3;
					}else{
						$thp = $thp_max;
						$log .="전회복! 체력이 완전하게 회복했다! <br>\n";
						$tmp-=9;
					}
				}
			}else{
				# 적캐릭터 통상 공격 처리
				&bogu_bt;
			}
		}elsif($tcp==1){
			if($tlv>=40&&$tmp>=90&&$p==0){
				$dh =int(rand(20)) ;
				if($dh <= 3){
					$log .="비오의영혼 부수어! 의식이 멀어진다…. <br>\n";
					$hp=0;
					$tmp-=90;
				}elsif($dh == 4){
					$v = int($thp*0.9);
					$thp -= $v;
					$log .="비오의영혼 부수어! <b>자폭! </b> $tnm 는 마음이 가루들에 부서지고 흩어졌다! <br>\n";
					$tmp-=90;
				}elsif($dh >= 5 && $dh <= 12){
					$v = int(($ud+$ua)*2-$ud);
					$hp -= $v;
					$log .="비오의영혼 부수어! 치수에서의 곳에서 $nm 는 피했다! <br>그러나 피하지 않고 $v 의 상처를 입었다! <br>\n";
					$tmp-=90;
				}else{
					$log .="실\패\한 것 같다♪<br>\n";
					$tmp-=90;
				}
			}elsif($tlv>=35&&$tmp>=60&&$p==1){
				$dh =int(rand(3)) ;
				if($dh==0){
					$v = int($hp*0.8);
					$hp -= $v;
					$hp = 1 if($hp < 1);
					$vv = int($tmp/4);
					$tmp -= $vv;
					$log .="오의 봉황 전생! $nm 는 빈사 상태에 빠졌다! <br>그러나 여파를 밥등 있고 $tnm 는 $vv 의 정신을 잃었다. <br>\n" if($thp <= 1);
					$log .="오의 봉황 전생! $nm 는$v의 상처를 입었다! <br>그러나 여파를 밥등 있고 $tnm 는 $vv 의 정신을 잃었다. <br>\n";
					$tmp-=60;
				}else{
					$v = int($hp*0.5);
					$hp -= $v;
					$hp = 1 if($hp < 1);
					$log .="오의 봉황 전생! $nm 는 빈사 상태에 빠졌다! <br>\n" if($thp <= 1);
					$log .="오의 봉황 전생! $nm 는 $v 의 상처를 입었다! <br>\n";
					$tmp-=60;
				}
			}elsif($tlv>=30&&$tmp>=21&&$p==2){
				$v = int($thp_max-$thp);
				$v = 50 if($v>50);
				$thp += $v;
				$log .="절심공! 체력을$v회복했다! <br>\n";
				$tmp-=21;
			}elsif($tlv>=20&&$tmp>=15&&$p==3){
				$hp -= 30;
				$log .="염창선! $nm 는 30 의 상처를 받았다! <br>\n";
				$tmp-=15;
			}elsif($tlv>=10&&$tmp>=9&&$p==4){
				$v = int($thp_max-$thp);
				$v = 30 if($v>30);
				$thp += $v;
				$log .="생명공! 체력을 $v 회복해 버렸다! <br>\n";
				$tmp-=9;
			}elsif($tlv>=5&&$tmp>=6&&$p==5){
				$v = int($tua*1.5);
				$v = $v-$ud;
				$v -= int(sqrt($ud)) if($bst =~ /S/);
				$v = 1 if($v<1);
				$hp -= $v;
				$log .="필살 질풍검! $nm 는 $v 의 상처를 받게 되었다! <br>\n";
				$tmp-=6;
			}else{
				# 적캐릭터 통상 공격 처리
				&bogu_bt;
			}
		}elsif($tcp==2){

			if($tlv>=40&&$tmp>=90&&$p==0){
				$v = 200 + int(rand(150)) - $ud;
				$hp -= $v;
				$log .="황혼보다 암 나무자……피의 흐름보다 빨강나무자……<br>(생략)<br>……동일하게 멸망하고를 주지 않는 일을!　용파참! <br>\n";
				$tmp-=85;
				$log .="$nm 는 $v 의 상처를 입었다! <br>\n";
			}elsif($tlv>=35&&$tmp>=45&&$p==2){
				$v = 140 + int(rand(60)) -$ud;
				$hp -= $v;
				$log .="시간의 흐름에 파묻히고 해 사람……영구<small>(와 원)</small>의 꿈을 잇는 사람……<br>지금 이놈의 이름에 대해, 예해 사람을 정화해···! <br>$nm 는 $v 의 상처를 입었다! <br>\n";
				$tmp-=45;
			}elsif($tlv>=20&&$tmp>=18&&$p==3){
				$hp -= 30;
				$v = int($thp_max-$thp);
				$v = 10 if($v>10);
				$thp += $v;
				$log .="세인트 크로스! $nm 는 30의 상처를 받아 더욱 그 체력을 불과(뿐)만 빨아 들여졌다! <br>\n";
				$tmp-=18;
			}elsif($tlv>=15&&$tmp>=12&&$p==4){
				$v = int($thp_max-$thp);
				$v = 30 if($v>30);
				$thp += $v;
				$log .="힐! 체력을 $v 회복해 버렸다! <br>\n";
				$tmp-=12;
			}elsif($tlv>=5&&$tmp>=6&&$p==5){
				$v = int($tua*1.5);
				$v = $v-$ud;
				$v -= int(sqrt($ud)) if($bst =~ /S/);
				$v = 1 if($v<1);
				$hp -= $v;
				$log .="하″티카르소트″! $nm 는 $v 의 상처를 받게 되었다! <br>\n";
				$tmp-=6;
			}else{
				# 적캐릭터 통상 공격 처리
				&bogu_bt;
			}

		}elsif($tcp==3){

			if($tlv>=40&&$tmp>=85&&$p==0){
				$v = int($tua*3);
				$v -= int(sqrt($ud)) if($bst =~ /S/);
				$v = 100 if($tua<2);
				$v = 100 if($v < 100);
				$hp -= $v;
				$mp -= $v;
				$log .="비오의 얼티메이트 어택! $nm 는 HP와 MP에 $v 의 타″메이시″를 받게 되었다! <br>\n";
				$tmp-=85;
			}elsif($tlv>=30&&$tmp>=40&&$p==2){
				$v = int($tua*3);
				$v = $v-$ud;
				$v -= int(sqrt($ud)) if($bst =~ /S/);
				$v = 1 if($v<1);
				$hp -= $v;
				$log .="혼신의 일격! $nm 는 $v 의 상처를 받게 되었다! <br>\n";
				$tmp-=40;
			}elsif($tlv>=25&&$tmp>=18&&$p==3){
				$v = int($thp_max-$thp);
				$v = 50 if($v>50);
				$thp += $v;
				$log .="하이 힐! 체력을$v회복했다! <br>\n";
				$tmp-=18;
			}elsif($tlv>=15&&$tmp>=12&&$p==4){
				$hp -= 25;
				$log .="소트″타″스! $nm 는 25 의 상처를 받게 되었다! <br>\n";
				$tmp-=12;
			}elsif($tlv>=5&&$tmp>=6&&$p==5){
				$hp -= 15;
				$log .="소트″slash! $nm 는 15 의 상처를 받게 되었다! <br>\n";
				$tmp-=6;
			}else{
				# 적캐릭터 통상 공격 처리
				&bogu_bt;
			}

		}elsif($tcp==4){

			if($tlv>=40&&$tmp>=90&&$p==0){
				$v = int(rand(50)) + 200;
				$hp -= $v;
				$log .="열고 지옥의 문! $nm 는 $v 의 상처를 받았다! <br>\n";
				$tmp-=90;
			}elsif($tlv>=20&&$tmp>=15&&$p==2){
				$hp -= 30;
				$log .="흑염! $nm 는 30 의 상처를 받았다! <br>\n";
				$tmp-=15;
			}elsif($tlv>=15&&$tmp>=12&&$p==3){
				$mp -= 30;
				$log .="악몽! $nm 의 MP에 30의 타″메이시″를 주었다! <br>\n";
				$tmp-=12;
			}elsif($tlv>=10&&$tmp>=9&&$p==4){
				$hp -= 20;
				$v = int($thp_max-$thp);
				$v = 10 if($v>10);
				$thp += $v;
				$log .="테″트″크라운! $nm 는 20의 상처를 받아 더욱 그 체력을 불과(뿐)만 빨아 들여졌다! <br>\n";
				$tmp-=9;
			}elsif($tlv>=5&&$tmp>=9&&$p==5){
				$v = int($tua*2);
				$v = $v-$ud;
				$v -= int(sqrt($ud)) if($bst =~ /S/);
				$v = 1 if($v<1);
				$hp -= $v;
				$log .="암흑검! $nm 는 $v 의 상처를 받게 되었다! <br>\n";
				$tmp-=9;
			}else{
				# 적캐릭터 통상 공격 처리
				&bogu_bt;
			}

		}elsif($tcp==5){

			if($tlv>=40&&$tmp>=90&&$p==0){
				$dh =int(rand(3)) ;
				if($dh==0){
					$v = int($tua*5);
					$v = $v-$ud;
					$v -= int(sqrt($ud)) if($bst =~ /S/);
					$v = 1 if($v<1);
					$hp -= $v;
					$log .="영식·직물! $nm 는 $v 의 상처를 받게 되었다! <br>\n";
					$tmp-=99;
				}elsif($dh==1){
					$v = int($tua*6);
					$v = $v-$ud;
					$v -= int(sqrt($ud)) if($bst =~ /S/);
					$v = 1 if($v<1);
					$hp -= $v;
					$log .="영식·직물! $nm 는 $v 의 상처를 받게 되었다! <br>그러나 기술을 제어 다 할 수 있지 않고\폭\주 해 $tnm 는 60의 상처를 입었다. <br>\n";
					$tmp-=99;
					$thp-=60;
				}elsif($dh==2){
					$v = int($tua*6);
					$v = $v-$ud;
					$v -= int(sqrt($ud)) if($bst =~ /S/);
					$v = 1 if($v<1);
					$hp -= $v;
					$log .="영식·직물! $nm 는 $v 의 상처를 받게 되었다! <br>그러나 정신에 부하가 걸려 $tnm 는 60의 MP를 잃었다. <br>\n";
					$tmp-=99;
					$tmp-=60;
				}
			}elsif($tlv>=35&&$tmp>=40&&$p==1){
				$dh =int(rand(2)) ;
				if($dh==0){
					$hp -= 200;
					$log .="영식! $nm 는 200 의 상처를 받았다! <br>\n";
					$tmp-=60;
				}elsif($dh==1){
					$hp -= 100;
					$log .="영식!  몸을 바꾸어 피했다! <br>그러나, 풍압에 의해 $nm 는 100 의 상처를 입었다! <br>\n";
					$tmp-=60;
				}
			}elsif($tlv>=30&&$tmp>=45&&$p==2){
				$dh =int(rand(3)) ;
				if($dh==0){
					$v = int($tua*3.5);
					$v = $v-$ud;
					$v -= int(sqrt($ud)) if($bst =~ /S/);
					$v = 1 if($v<1);
					$hp -= $v;
					$log .="참식·물결! $nm 는 $v 의 상처를 받게 되었다! <br>\n";
					$tmp-=30;
				}elsif($dh==1){
					$v = int($tua*3.5);
					$v = $v-$ud;
					$v -= int(sqrt($ud)) if($bst =~ /S/);
					$v = 1 if($v<1);
					$hp -= $v;
					$log .="참식·물결! $nm 는 $v 의 상처를 받게 되었다! <br>그러나 기술을 제어 다 할 수 있지 않고\폭\주 해 $tnm 는 30의 상처를 입었다. <br>\n";
					$tmp-=30;
					$thp-=30;
				}elsif($dh==2){
					$v = int($tua*3.5);
					$v = $v-$ud;
					$v -= int(sqrt($ud)) if($bst =~ /S/);
					$v = 1 if($v<1);
					$hp -= $v;
					$log .="참식·물결! $nm 는 $v 의 상처를 받게 되었다! <br>그러나 정신에 부하가 걸려 $tnm 는 30의 MP를 잃었다. <br>\n";
					$tmp-=30;
					$tmp-=30;
				}
			}elsif($tlv>=25&&$tmp>=30&&$p==3){
				$dh =int(rand(2)) ;
				if($dh==0){
					$hp -= 120;
					$log .="참식! $nm 는 120 의 상처를 받았다! <br>\n";
					$tmp-=30;
				}elsif($dh==1){
					$hp -= 60;
					$log .="참식!  몸을 바꾸어 피했다! <br>그러나, 풍압에 의해 $nm 는 60 의 상처를 입었다! <br>\n";
					$tmp-=30;
				}
			}elsif($tlv>=20&&$tmp>=30&&$p==4){
				$dh =int(rand(3)) ;
				if($dh==0){
					$v = int($tua*2.5);
					$v = $v-$ud;
					$v -= int(sqrt($ud)) if($bst =~ /S/);
					$v = 1 if($v<1);
					$hp -= $v;
					$log .="이식·직물! $nm 는 $v 의 상처를 받게 되었다! <br>\n";
					$tmp-=20;
				}elsif($dh==1){
					$v = int($tua*2.5);
					$v = $v-$ud;
					$v -= int(sqrt($ud)) if($bst =~ /S/);
					$v = 1 if($v<1);
					$hp -= $v;
					$log .="이식·직물! $nm 는 $v 의 상처를 받게 되었다! <br>그러나 기술을 제어 다 할 수 있지 않고\폭\주 해 $tnm 는 15의 상처를 입었다. <br>\n";
					$tmp-=20;
					$thp-=15;
				}elsif($dh==2){
					$v = int($tua*2.5);
					$v = $v-$ud;
					$v -= int(sqrt($ud)) if($bst =~ /S/);
					$v = 1 if($v<1);
					$hp -= $v;
					$log .="이식·직물! $nm 는 $v 의 상처를 받게 되었다! <br>그러나 정신에 부하가 걸려 $tnm 는 15의 MP를 잃었다. <br>\n";
					$tmp-=20;
					$tmp-=15;
				}
			}elsif($tlv>=15&&$tmp>=20&&$p==5){
				$dh =int(rand(2)) ;
				if($dh==0){
					$hp -= 70;
					$log .="이식! $nm 는 70 의 상처를 받았다! <br>\n";
					$tmp-=20;
				}elsif($dh==1){
					$hp -= 35;
					$log .="이식!  몸을 바꾸어 피했다! <br>그러나, 풍압에 의해 $nm 는 35 의 상처를 입었다! <br>\n";
					$tmp-=20;
				}
			}elsif($tlv>=10&&$tmp>=15&&$p==6){
				$v = int($tua*1.5);
				$v = $v-$ud;
				$v -= int(sqrt($ud)) if($bst =~ /S/);
				$v = 1 if($v<1);
				$hp -= $v;
				$log .="일식·단! $nm 는 $v 의 상처를 받게 되었다! <br>\n";
				$tmp-=10;
			}elsif($tlv>=5&&$tmp>=10&&$p==7){
				$dh =int(rand(2)) ;
				if($dh==0){
					$hp -= 30;
					$log .="일식! $nm 는 120 의 상처를 받았다! <br>\n";
					$tmp-=10;
				}elsif($dh==1){
					$hp -= 20;
					$log .="일식!  몸을 바꾸어 피했다! <br>그러나, 풍압에 의해 $nm 는 20 의 상처를 입었다! <br>\n";
					$tmp-=10;
				}
			}else{
				# 적캐릭터 통상 공격 처리
				&bogu_bt;
			}
		}

	}

	$log .="</font>\n";

	# 패배 처리
	&battle_lost if($hp <= 0 && $type eq '수행중');

}

# 패배 처리
sub battle_lost{
	$tm = 0;
	$cmd=-1;
	$bst ='';
	$bt =0;
	$ck =0;
	$hp =0;
	$type='';
	$G=int(rand(10))+1;
	$E=int(rand(5))+1;
	$gold+=$G;
	$exe+=$E;
	$log .="당신은 $tnm 에 지고 떠났다…<br>\n";
	$log .="$G 의 돈과 $E 의 경험치를 얻었다<br>\n";
	$tnm_p = $tnm; # 02/10 전쟁시, 공격한 나라의 사람이 아닌 사람이 나오는 것에의 대처
	$tnm='';
}

#-------------------------------------------------------------------------------
# 적캐릭터 통상 공격 처리
sub bogu_bt{
	$v = $tua_a-$ud_a;
	$v -= int(sqrt($tud)) if($bst =~ /S/);

	# 통상 데미지 보정 << 강자가 약자(뿐)만 상대하지 않게
	my $lv_margin= $lv-$tlv;
	$v += int((rand($lv_margin)+$lv_margin/2)/4) if($lv_margin>15);

	$v = 1 if($v<1);

	if($tdg_a>0){#무기 호출
		$log .="$dg_data[$tdg_a][1] 으로 반격!!<br>$nm 는 $v 의 상처를 입었다! <br>\n";
		$hp -= $v;
	}else{
		$v = int((rand(4))+$v);
		$hp -= $v;
		$log .="$v  의 반격을 받았다! <br>\n";
	}

	if($df_a && $df_cnt){#방어용 기구 호출
		$df_cnt--;
		if($df_cnt<=0){
			$log .="$tnm의 날카로운 공격에 의해 $nm의 $df_data[$df_a][1] 이 망가졌다!!<br>\n";
			$df_a = $df_cnt = 0;
		}
	}

	if($ds_a && $ds_cnt){#방패 호출
		$ds_cnt--;
		if($ds_cnt<=0){
			$log .="$tnm의 날카로운 공격에 의해 $nm의 $df_data[$df_a][1] 이 망가졌다!!<br>\n";
			$ds_a = $ds_cnt = 0;
		}
	}
}

#-------------------------------------------------------------------------------
#전투시의 셀렉트 메뉴 표시
sub spell_sp {
	$log2 .="<select name=cmd size=1>\n<option value=1>공격</option>\n";
	for($i=0,$j=2;$i<int($lv/5) && $i<=$#spell;$i++,$j++){
		next if($mp<$sp_mp[$i]);
		$v = int($mp/$sp_mp[$i]);
		$log2 .="<option value=$j>$spell[$i]\[$v\]</option>\n";
	}#;
	for($i=0,$j=8,$k=10;$i<=$#kspell;$i++,$j=$j+2,$k++){
		if($rank >= $j && $mp >= $ksp_mp[$i] && $camp >0){
			 $v = int($mp/$ksp_mp[$i]);
			$log2 .="<option value=$k>$kspell[$i]\[$v\]</option>\n";
		}
	}
	if($di_a>0){
		$log2 .="<option value=15>$di_data[$di_a][1]\[1\]</option>\n";
	}
	$log2 .="</select>";
}

#-------------------------------------------------------------------------------
#계급기술(후˚층용)
sub st_cm_k {
	if($v == 8 && $camp > 0){
		$v = int(($ua+$ud)*2)-$tud;
		$v = 1 if($v<1);
		$thp -= $v;
		$log .="$kspell[0]!$tnm 에 $v 의 상처를 주었다! <br>\n";
		$mp -= $ksp_mp[0];
	}elsif($v == 9 && $camp > 0){
		$v = int(($ua+$ud)*2.5)-$tud;
		$v = 1 if($v<1);
		$thp -= $v;
		$log .="$kspell[1]!$tnm 에 $v 의 상처를 주었다! <br>\n";
		$mp -= $ksp_mp[1];
	}elsif($v == 10 && $camp > 0){
		$v = int(($ua+$ud)*3)-$tud;
		$v = 1 if($v<1);
		$thp -= $v;
		$log .="$kspell[2]!$tnm 에 $v 의 상처를 주었다! <br>\n";
		$mp -= $ksp_mp[2];
	}elsif($v == 11 && $camp > 0){
		$v = int(($ua+$ud)*4)-$tud;
		$v = 1 if($v<1);
		$thp -= $v;
		$log .="$kspell[3]!$tnm 에 $v 의 상처를 주었다! <br>\n";
		$mp -= $ksp_mp[3];
	}
}

#-------------------------------------------------------------------------------
#도구(PC용)
sub dogu_k {
	my $v;

	if($di_a == 2){
		$hp = $max_hp;
		$mp = $max_mp;
		$log .="$nm 는 $di_data[2][1] 을 사용했다!  체력과 마력이 전회복했다! <br>\n";
	}elsif($di_a == 3){
		$hp = $max_hp;
		$log .="$nm 는 $di_data[3][1] 을 사용했다!  체력이 전회복했다! <br>\n";
	}elsif($di_a == 4){
		$mp = $max_mp;
		$log .="$nm 는 $di_data[4][1] 을 사용했다!  마력이 전회복했다! <br>\n";
	}elsif($di_a == 11){
		if(int($hp+80) < $max_hp){
			$v=80;
			$hp += $v;
		}else{
			$v=$max_hp-$hp;
			$hp += $v;
		}
		if(int($mp+60) < $max_mp){
			$vv=60;
			$mp += $vv;
		}else{
			$vv=$max_mp-$mp;
			$mp += $vv;
		}
		$log .="$nm 는 $di_data[11][1]을 사용했다! <br>체력이 $v 회복해, 한층 더 정신이 $vv 회복했다! <br>\n";
	}elsif($di_a == 12){
		if(int($mp+80) < $max_mp){
			$v=80;
			$mp += $v;
		}else{
			$v=$max_mp-$mp;
			$mp += $v;
		}
		$log .="$nm 는 $di_data[12][1] 을 사용했다!  정신이 $v 회복했다! <br>\n";
	}elsif($di_a == 13){
		if(int($mp+40) < $max_mp){
			$v=40;
			$mp += $v;
		}else{
			$v=$max_mp-$mp;
			$mp += $v;
		}
		$log .="$nm 는 $di_data[13][1] 을 사용했다!  정신이 $v 회복했다! <br>\n";
	}elsif($di_a == 14){
		if(int($hp+100) < $max_hp){
			$v=100;
			$hp += $v;
		}else{
			$v=$max_hp-$hp;
			$hp += $v;
		}
		$log .="$nm 는 $di_data[14][1] 을 사용했다!  체력이 $v 회복했다! <br>\n";
	}elsif($di_a == 15){
		if(int($hp+50) < $max_hp){
			$v=50;
			$hp += $v;
		}else{
			$v=$max_hp-$hp;
			$hp += $v;
		}
		$log .="$nm 는 $di_data[15][1] 을 사용했다!  체력이 $v 회복했다! <br>\n";
	}

	$di_cnt--;
	$di_a = $di_cnt = 0 if($di_cnt<=0);
}





1;
